package com.maybach.workflow.core.service;


import com.maybach.workflow.common.api.FlowChain;
import com.maybach.workflow.common.api.WorkFlowContext;
import com.maybach.workflow.common.api.node.TaskNode;
import com.maybach.workflow.common.model.FlowTaskActorDO;
import com.maybach.workflow.common.model.FlowTaskDO;

import java.util.List;
import java.util.Set;

/**
 * Created by well on 15/6/12.
 */
public interface TaskService {


    List<FlowTaskActorDO> getTaskActor(FlowTaskDO flowTaskDO, TaskNode taskNode, WorkFlowContext context);

    public boolean rejectTask(WorkFlowContext workFlowContext);

    /**
     * 撤销流程
     * @param workFlowContext
     * @return
     */
    public boolean cancleFlow(WorkFlowContext workFlowContext);

    public boolean isChildNode(FlowChain flowChain, String currentNodeName, String checkNodeName, Set<String> visitSet);


}
